#include <vector>
using namespace std;
class Solution {
public:
    int singleNumber(vector<int>& nums) {
        //我们按位进行操作，将各位相加%3就是对应的a的这个位
        int ret = 0;
        //依次去修改ret的每一位
        for(int i = 0 ; i < 32 ; i++){
            int n = 0;
            for(auto& x:nums){
                if((x>>i)&1)    n++;
            } //统计第i位的和；

            if(n%3) ret |= (1<<i);  //修改第i位 
        }
        return ret;
    }
};